PHP 8.1 (ou 8.2) fait planter Joomla 3.10 : vais-je avoir des problèmes en Joomla 4 ?

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [RÉGLÉ] PHP 8.1 (ou 8.2) fait planter Joomla 3.10 : vais-je avoir des problèmes en Joomla 4 ?

    Bonjour,

    Ca y est, je m'y suis enfin mise : je travaille à préparer notre site pour le mettre à jour en Joomla 4.x
    Mais pour l'heure, je suis encore sous 3.10.12 (le temps de virer et remplacer les extensions incompatibles).
    Je m'étais toujours interdit de monter en PHP 8 car cela provoquait un problème avec Chronoforms 5. Mais maintenant que je suis passée avec Convert Forms (et que j'ai viré l'autre extension incompatible PHP 8), je pensais bien pouvoir monter de PHP 7.4 (payant chez ionos puisqu'obsolète) à PHP 8.2 ou 8.1
    Hélas, quand je tente l'une ou l'autre des versions PHP 8, mon back-end et mon front-end deviennent tous deux inaccessibles (page blanche).

    Heureusement, je travaille sur un clone du site déployé sur un sous-domaine, et j'ai réglé le rapport d'erreur sur Développement.
    Voici les erreurs qui s'affichent :

    Deprecated: Joomla\Input\Input implements the Serializable interface, which is deprecated. Implement __serialize() and __unserialize() instead (or in addition, if support for old PHP versions is necessary) in /homepages/7/d398759287/htdocs/20aou2024/libraries/vendor/joomla/input/src/Input.php on line 41

    Deprecated: Return type of Joomla\Input\Input::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /homepages/7/d398759287/htdocs/20aou2024/libraries/vendor/joomla/input/src/Input.php on line 170

    Deprecated: Joomla\CMS\Input\Input implements the Serializable interface, which is deprecated. Implement __serialize() and __unserialize() instead (or in addition, if support for old PHP versions is necessary) in /homepages/7/d398759287/htdocs/20aou2024/libraries/src/Input/Input.php on line 31

    Warning: session_name(): Session name cannot be changed after headers have already been sent in /homepages/7/d398759287/htdocs/20aou2024/libraries/joomla/session/handler/native.php on line 128

    Deprecated: Joomla\CMS\Input\Cookie implements the Serializable interface, which is deprecated. Implement __serialize() and __unserialize() instead (or in addition, if support for old PHP versions is necessary) in /homepages/7/d398759287/htdocs/20aou2024/libraries/src/Input/Cookie.php on line 21

    Warning: session_cache_limiter(): Session cache limiter cannot be changed after headers have already been sent in /homepages/7/d398759287/htdocs/20aou2024/libraries/joomla/session/handler/native.php on line 235
    Error: Failed to start application: Failed to start the session because headers have already been sent by "/homepages/7/d398759287/htdocs/20aou2024/libraries/vendor/joomla/input/src/Input.php" at line 41.
    Ma question : puis-je poursuivre mes travaux pour passer à Joomla 4 ou bien ces messages (du chinois pour moi) mettent-ils en évidence un problème que je vais emporter avec moi dans la migration vers J4 ??

    La seule extension qu'il me reste à mettre à jour, c'est JQUERY EASY. Mais l'éditeur disait sur son site que la mise à jour pouvait poser pas mal de problème, aussi n'ai-je jamais sauté le pas. Que faire ? Cette extension est-elle indispensable ?

    Merci d'avance pour vos précieuses lumières. J'ai beau comprendre l'anglais, tout ce charabia reste totalement incompréhensible pour moi.

    A bientôt.
    Dernière édition par FlodAriege à 24/08/2024, 19h59
    Flo, Ariège

    Il n'y a que celui qui a honte d'apprendre qui a peur de demander

  • #2
    Bonjour,
    Vous pouvez poursuivre car il ne s'agit pas d'erreur. Les mises a jour devraient corriger tout cela.

    Commentaire


    • #3
      Bonjour

      JQueryEasy n'est pas toujours indispensable, à mon avis, avec les nouvelles versions de Joomla!

      Joomla! 3 est en principe compatible PHP 8.1, mais pas 8.2, à ma connaissance, et les erreurs signalées concernent bien le noyau de Joomla!
      Les extensions pour J3 ne sont pas toutes compatibles avec PHP 8.1, celles pour J4 le seront.

      La mise à jour vers J4 peut se faire avec PHP 7.4 (J4 nécessite au moins la 7.2.5), donc pas de soucis.
      FlodAriege aime ceci.
      "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
      MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

      Commentaire


      • #4
        Bonjour RobertG

        Envoyé par RobertG Voir le message
        JQueryEasy n'est pas toujours indispensable, à mon avis, avec les nouvelles versions de Joomla!
        Bon, alors à ce stade, je le désinstalle. Il est tellement obsolète... (une version 2.x alors que l'éditeur en est à la 5.x)
        Au pire, j'installerai une version à jour si des conflits venaient à apparaître.

        Envoyé par RobertG Voir le message
        Joomla! 3 est en principe compatible PHP 8.1, mais pas 8.2, à ma connaissance, et les erreurs signalées concernent bien le noyau de Joomla!
        Les extensions pour J3 ne sont pas toutes compatibles avec PHP 8.1, celles pour J4 le seront.

        La mise à jour vers J4 peut se faire avec PHP 7.4 (J4 nécessite au moins la 7.2.5), donc pas de soucis.
        Ca, ça m'embête, même s'il est vrai qu'au moins dans un premier temps, je peux rester en 7.4 (mais le support est payant).
        C'est surtout que certaines extensions que je souhaiterais pouvoir mettre à jour dans J4 vont requérir un PHP 8+
        C'est pourquoi j'aimerais vraiment bien savoir ce qui, dans mon installation, provoque cette incompatibilité avec PHP 8.

        J'ai trouvé un post de quelqu'un qui a presque toutes les mêmes erreurs que moi (https://forum.joomla.org/viewtopic.php?t=1000753) mais ça ne donne aucune explication. Si ce n'est que Joomla 4, lui, sera bien compatible PHP 8.

        Bonjour Fred2FR3
        Envoyé par Fred2FR3 Voir le message
        ,
        Vous pouvez poursuivre car il ne s'agit pas d'erreur. Les mises a jour devraient corriger tout cela.
        Ca ne se voit pas bien à cause de la mise en forme, mais la dernière ligne est bien une erreur, et non un simple warning. D'ailleurs, je n'avais plus accès, je le rappelle, ni au front-end ni au back-end.

        Error: Failed to start application: Failed to start the session because headers have already been sent by "/homepages/7/d398759287/htdocs/20aou2024/libraries/vendor/joomla/input/src/Input.php" at line 41.
        Une idée ce qui se passe ?

        Merci
        Flo, Ariège

        Il n'y a que celui qui a honte d'apprendre qui a peur de demander

        Commentaire


        • #5
          L'erreur est avec quelle version 8 de PHP ?
          "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
          MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

          Commentaire


          • #6
            Envoyé par RobertG Voir le message
            L'erreur est avec quelle version 8 de PHP ?
            PHP 8.2 et PHP 8.1, j'ai essayé les 2
            Je ne peux pas essayer les versions entre 7.5 et 8.0 (j'ai un support prolongé payant sur 7.4, mais rien dans l'intervalle jusqu'à 8.1)

            EDIT : je viens de procéder à la migration Joomla 4. La première liste d'erreurs que j'ai vue m'a rappelé pourquoi j'avais vraiment besoin de monter en PHP 8+ : pour mettre à jour Sliders de Regular Labs vers son remplaçant Tabs & accordions, il faut obligatoirement cette version de PHP.
            J'ai donc tenté de monter la version du PHP sur le sous-domaine en 8.2 et ... bingo ! Cela a fonctionné

            (bon, en revanche, je n'ai plus accès au front-end, mais ça ne doit pas avoir grand chose à voir avec la version PHP, je t'en parle dans l'autre post)

            Donc, pour ce qui est de la version PHP, je crois que je peux considérer le problème comme réglé.
            Merci
            Dernière édition par FlodAriege à 25/08/2024, 21h40
            Flo, Ariège

            Il n'y a que celui qui a honte d'apprendre qui a peur de demander

            Commentaire

            Annonce

            Réduire
            Aucune annonce pour le moment.

            Partenaire de l'association

            Réduire

            Hébergeur Web PlanetHoster
            Travaille ...
            X